// 1.普通方式
let arr1: number[] = [1, 2, 3, 4]
let arr11: number[][] = [[1, 2], [3, 4]]


// 2.泛型
let arr2: Array<number> = [1, 2, 3]
let arr22: Array<Array<number>> = [[1, 2], [3, 4]]

// 3.定义对象数组，使用interface
interface X {
    name: string
}
let objArr: X[] = [{ name: 'Alice' }, { name: 'Boob' }]

// 大杂烩数组
let mussyArr: any[] = [true, 1, 'aa', null, {}, undefined, []]
let mussyArr2: [boolean, number, string] = [false, 2, 'bb']

function fnn(...args: any[]) {
    let a:IArguments = arguments
    // console.log(arguments.callee())
    console.log(args)
}
fnn(1,2,3)

interface Iargu{
    callee:Function,
    length:number,
    [index:number]:any,
}